//写的模块可以在 AMD CMD COMMONJS(node) 下运行
((root, factory) => {
  // 如果当前的上下问中有define函数 并且有个amd属性 说明就处于AMD环境下
  if (typeof define === 'function' && define.amd) {
    //AMD
    define(['lib'], factory);
  } else if (typeof exports === 'object') { // CommonJS
    module.exports = factory();
  } else {
    root/** window或则当前模块*/.lib = factory();
  }
})(this, /*lib*/() => {
  // 这是本模块定义
  return {/*....*/}
});
